package cn.edu.scau.cmi.ema.dao;

import cn.edu.scau.cmi.ema.base.CmiPagination;
import cn.edu.scau.cmi.ema.domain.Url;
import org.springframework.dao.DataAccessException;

import java.util.Calendar;
import java.util.Set;

public interface UrlDAO extends JpaDao<Url> {

	public Url findUrlById(Integer id) throws DataAccessException;

	public Url findUrlById(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByName(String name) throws DataAccessException;

	public Set<Url> findUrlByName(String name, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByNameContaining(String name_1) throws DataAccessException;

	public Set<Url> findUrlByNameContaining(String name_1, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByTitle(String title) throws DataAccessException;

	public Set<Url> findUrlByTitle(String title, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByTitleContaining(String title_1) throws DataAccessException;

	public Set<Url> findUrlByTitleContaining(String title_1, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByDate(Calendar date) throws DataAccessException;

	public Set<Url> findUrlByDate(Calendar date, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByValue(String value) throws DataAccessException;

	public Set<Url> findUrlByValue(String value, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByValueContaining(String value_1) throws DataAccessException;

	public Set<Url> findUrlByValueContaining(String value_1, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByContent(String content) throws DataAccessException;

	public Set<Url> findUrlByContent(String content, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByContentContaining(String content_1) throws DataAccessException;

	public Set<Url> findUrlByContentContaining(String content_1, int startResult, int maxRows)
			throws DataAccessException;

	public Set<Url> findUrlByDescription(String description) throws DataAccessException;

	public Set<Url> findUrlByDescription(String description, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlByDescriptionContaining(String description_1) throws DataAccessException;

	public Set<Url> findUrlByDescriptionContaining(String description_1, int startResult, int maxRows)
			throws DataAccessException;

	public Url findUrlByPrimaryKey(Integer id) throws DataAccessException;

	public Url findUrlByPrimaryKey(Integer id, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlsByIds(Set<Integer> ids) throws DataAccessException;

	public Set<Url> findAllUrls() throws DataAccessException;

	public Set<Url> findAllUrls(int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlsBySite(Integer siteId, int start, int max);

	public Set<Url> findUrlsByAuthor(Integer userId, int start, int max);

	public Set<Url> findUrlByCompositeProperities(String sql, int startResult, int maxRows) throws DataAccessException;

	public Set<Url> findUrlsByDetachedCriteria(CmiPagination page) throws DataAccessException;

	public Url findUrlByPhysicalPrimaryKey(String value) throws DataAccessException;

	public Url findUrlByPhysicalPrimaryKey(String value, int startResult, int maxRows) throws DataAccessException;
}
